package com.winit.cloudlink.mgmt.task;

import java.util.List;

public interface TaskManager {
    /**
     * 获取任务
     *
     * @return
     */
    Task getTask(String id);

    /**
     * 根据名称获取任务
     *
     * @param name
     * @return
     */
    Task getTaskByName(String name);

    /**
     * 查询所有任务
     *
     * @return
     */
    List<Task> findTasks();

    /**
     * 根据类型查询任务
     *
     * @return
     */
    List<Task> findTasksByType(String type);

    /**
     * 保存任务
     *
     * @param task 任务实例
     * @return
     */
    void saveTask(Task task);

    /**
     * 删除任务
     *
     * @param id 任务id
     */
    void deleteTask(String id);
}
